home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / adlibn / adblib.h < prev    next >
C/C++ Source or Header  |  1999-01-02  |  9KB  |  342 lines

  1. #if _MSC_VER >= 1000
  2. #pragma once
  3. #endif // _MSC_VER >= 1000
  4. // DBrs.h : header file
  5. //
  6.  
  7. #include "Resource.h"
  8.  
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CDBrs DAO recordset
  11.  
  12. extern CDaoDatabase * pMainDatabase;
  13. extern UINT    m_PrivateFormId;
  14. extern CString    GetString( COleVariant& var );
  15. extern long GetLong( COleVariant& var );
  16.  
  17. void __declspec(dllexport)  SetMainDatabase( CDaoDatabase * pDB );
  18. void __declspec(dllexport)  OpenForm( CRuntimeClass* prt, CString Title );
  19.  
  20. //void SetMainDatabase( CDaoDatabase * pDB );
  21.  
  22. class AFX_EXT_CLASS CDBrs : public CDaoRecordset
  23. {
  24. private:
  25.     CPtrArray    m_Fields;
  26.  
  27. public:
  28.     CDBrs(CDaoDatabase* pDatabase = NULL);
  29.     ~CDBrs();
  30.     DECLARE_DYNAMIC(CDBrs)
  31.  
  32. // Field/Param Data
  33.     //{{AFX_FIELD(CDBrs, CDaoRecordset)
  34.     //}}AFX_FIELD
  35.     void    SetFieldString( CString FieldName, CString str );
  36.  
  37. // Overrides
  38.     // ClassWizard generated virtual function overrides
  39.     //{{AFX_VIRTUAL(CDBrs)
  40.     public:
  41.     virtual void DoFieldExchange(CDaoFieldExchange* pFX);  // RFX support
  42.     virtual void Open(int nOpenType = AFX_DAO_USE_DEFAULT_TYPE, LPCTSTR lpszSql = NULL, int nOptions = 0);
  43.     //}}AFX_VIRTUAL
  44.  
  45. // Implementation
  46. #ifdef _DEBUG
  47.     virtual void AssertValid() const;
  48.     virtual void Dump(CDumpContext& dc) const;
  49. #endif
  50. };
  51.  
  52. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  53. class AFX_EXT_CLASS CDBChildFrame : public CMDIChildWnd
  54. {
  55.     DECLARE_DYNCREATE(CDBChildFrame)
  56. public:
  57.     CDBChildFrame();
  58.  
  59. // Attributes
  60. public:
  61.  
  62. // Operations
  63. public:
  64.  
  65. // Overrides
  66.     // ClassWizard generated virtual function overrides
  67.     //{{AFX_VIRTUAL(CDBChildFrame)
  68.     virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  69.     //}}AFX_VIRTUAL
  70.  
  71. // Implementation
  72. public:
  73.     virtual ~CDBChildFrame();
  74. #ifdef _DEBUG
  75.     virtual void AssertValid() const;
  76.     virtual void Dump(CDumpContext& dc) const;
  77. #endif
  78.  
  79. protected:  // control bar embedded members
  80.     CToolBar    m_wndToolBar;
  81.  
  82.     // Generated message map functions
  83. protected:
  84.     //{{AFX_MSG(CDBChildFrame)
  85.     afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  86.     //}}AFX_MSG
  87.     DECLARE_MESSAGE_MAP()
  88. };
  89.  
  90. /////////////////////////////////////////////////////////////////////////////
  91.  
  92. enum ty_ed_ctrl{    ty_edit,    ty_cbo,        ty_check,    ty_list,    ty_grid};
  93.  
  94. #define    FLAG_EDIT_R_ONLY    0
  95. #define    FLAG_EDIT            1
  96.  
  97. class AFX_EXT_CLASS CDBForm : public CFormView
  98. {
  99. protected:
  100.     CDBForm( UINT i);           // protected constructor used by dynamic creation
  101.     CDBForm( void );           // protected constructor used by dynamic creation
  102.     DECLARE_DYNCREATE(CDBForm)
  103.  
  104. // Form Data
  105. public:
  106.     //{{AFX_DATA(CDBForm)
  107.         // NOTE: the ClassWizard will add data members here
  108.     //}}AFX_DATA
  109. private:
  110.  
  111.     CUIntArray    m_updCtrls;
  112.     CUIntArray    m_tyCtrls;
  113.     CUIntArray    m_FlagCtrls;
  114.     CStringArray m_Fileds;
  115.     CPtrArray    m_RecSet;
  116.     BOOL        m_Editing;
  117.     BOOL        m_Bof;
  118.     BOOL        m_Eof;
  119.  
  120.  
  121. // Attributes
  122. public:
  123.  
  124. // Operations
  125. public:
  126.     virtual void EnableEditing( BOOL E);
  127.     virtual void ClearData( void );
  128.     virtual void ReadData( void );
  129.     virtual void WriteData();
  130.     virtual BOOL Editing( void );
  131.     virtual void UpdateStatus( void );
  132.     virtual void AddEditCtrl( UINT Id, CString field, UINT flags = FLAG_EDIT );
  133.     virtual void AddComboCtrl( UINT Id, CString field, UINT flags = FLAG_EDIT );
  134.     virtual void AddCheckCtrl( UINT Id, CString field, UINT flags = FLAG_EDIT );
  135.     virtual void AddListCtrl( UINT Id, CString field, int nCur, CString Filter, UINT flags = FLAG_EDIT );
  136.     virtual void AddListCol( UINT Id, CString field, int width, UINT flags = FLAG_EDIT );
  137.     virtual void AddListColCbo( UINT Id, CString field, int width, int nCur, UINT flags = FLAG_EDIT );
  138.     virtual void FillCombo( UINT Id, int nCur);
  139.     virtual void PrintPreview( CString s);
  140.  
  141.     // Cursor management
  142.     virtual int    OpenCursor( CString s, char * Filter = NULL, char * Sort = NULL, int mode = dbOpenDynaset, int opt = 0);
  143.     virtual CDBrs * Cursor( int i = 0 );
  144.     virtual int NCursor( void );
  145.  
  146. // Overrides
  147.     // ClassWizard generated virtual function overrides
  148.     //{{AFX_VIRTUAL(CDBForm)
  149.     public:
  150.     virtual void OnInitialUpdate();
  151.     protected:
  152.     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  153.     virtual void PostNcDestroy();
  154.     //}}AFX_VIRTUAL
  155.  
  156. // Implementation
  157. protected:
  158.     virtual ~CDBForm();
  159. #ifdef _DEBUG
  160.     virtual void AssertValid() const;
  161.     virtual void Dump(CDumpContext& dc) const;
  162. #endif
  163.  
  164.     // Generated message map functions
  165.     //{{AFX_MSG(CDBForm)
  166.     afx_msg void OnAddRec();
  167.     afx_msg void OnUpdateAddRec(CCmdUI* pCmdUI);
  168.     afx_msg void OnDelRec();
  169.     afx_msg void OnUpdateDelRec(CCmdUI* pCmdUI);
  170.     afx_msg void OnEditRec();
  171.     afx_msg void OnUpdateEditRec(CCmdUI* pCmdUI);
  172.     afx_msg void OnSave();
  173.     afx_msg void OnUpdateSave(CCmdUI* pCmdUI);
  174.     afx_msg void OnUndo();
  175.     afx_msg void OnUpdateUndo(CCmdUI* pCmdUI);
  176.     afx_msg void OnRecordFirst();
  177.     afx_msg void OnUpdateRecordFirst(CCmdUI* pCmdUI);
  178.     afx_msg void OnRecordLast();
  179.     afx_msg void OnUpdateRecordLast(CCmdUI* pCmdUI);
  180.     afx_msg void OnRecordNext();
  181.     afx_msg void OnUpdateRecordNext(CCmdUI* pCmdUI);
  182.     afx_msg void OnRecordPrev();
  183.     afx_msg void OnUpdateRecordPrev(CCmdUI* pCmdUI);
  184.     afx_msg void OnFileClose();
  185.     afx_msg void OnUpdateFileClose(CCmdUI* pCmdUI);
  186.     //}}AFX_MSG
  187.     DECLARE_MESSAGE_MAP()
  188. };
  189.  
  190. /////////////////////////////////////////////////////////////////////////////
  191. // CDBEdit window
  192.  
  193. class CDBEdit : public CEdit
  194. {
  195. // Construction
  196. public:
  197.     CDBEdit();
  198.  
  199. // Attributes
  200. public:
  201.  
  202. // Operations
  203. public:
  204.  
  205.  
  206. private:
  207. // Overrides
  208.     // ClassWizard generated virtual function overrides
  209.     //{{AFX_VIRTUAL(CDBEdit)
  210.     protected:
  211.     virtual void PostNcDestroy();
  212.     //}}AFX_VIRTUAL
  213.  
  214. // Implementation
  215. public:
  216.     virtual ~CDBEdit();
  217.  
  218.     // Generated message map functions
  219. protected:
  220.     //{{AFX_MSG(CDBEdit)
  221.     afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  222.     afx_msg UINT OnGetDlgCode();
  223.     afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
  224.     //}}AFX_MSG
  225.  
  226.     DECLARE_MESSAGE_MAP()
  227. };
  228.  
  229. /////////////////////////////////////////////////////////////////////////////
  230. // CDBGrid window
  231. #define NOT_EDIT    -1
  232.  
  233. class AFX_EXT_CLASS CDBGrid : public CListCtrl
  234. {
  235.     DECLARE_DYNAMIC( CDBGrid )
  236.  
  237. private:
  238.     CDBrs *        m_pCursor;
  239.     COleVariant    m_Par;
  240.     CStringArray m_FieldNames;
  241.     CUIntArray    m_Width;
  242.     CUIntArray    m_Flags;
  243.     CUIntArray    m_CursorSec;
  244.     CUIntArray    m_tyCtrls;
  245.     int            m_X;
  246.     int            m_Y;
  247.     BOOL        m_CtrlPressed;
  248.  
  249.     // Construction
  250. public:
  251.     CDBGrid();
  252.  
  253. // Attributes
  254. public:
  255.     CString        m_Filter;
  256.     CString        m_Param;
  257.  
  258. // Operations
  259. public:
  260.     void    AddRecord( void );
  261.     void    SetCursor( CDBrs * cur);
  262.     int        NFields( void );
  263.     void    Edit( void );
  264.     void    Move( int x, int y);
  265.     void    SaveEditData( void );
  266.     void    BeginEdit( void );
  267.     void    EndEdit( void );
  268.     void    WriteData( void );
  269.     CRect    Rect( int x, int y);
  270.     virtual CDBrs * Cursor( int i = -1 );
  271.     
  272. // Overrides
  273.     // ClassWizard generated virtual function overrides
  274.     //{{AFX_VIRTUAL(CDBGrid)
  275.     protected:
  276.     virtual void PostNcDestroy();
  277.     //}}AFX_VIRTUAL
  278.  
  279. // Implementation
  280. public:
  281.     void    SetParam( COleVariant p );
  282.     void    Refresh();
  283.     void    AddCol( CString field, int width, UINT flags = FLAG_EDIT );
  284.     void    AddColCbo( CString field, int width, int nCur, UINT flags = FLAG_EDIT );
  285.     virtual ~CDBGrid();
  286.  
  287.     afx_msg void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct);
  288.     // Generated message map functions
  289. protected:
  290.     //{{AFX_MSG(CDBGrid)
  291.     afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  292.     afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  293.     afx_msg UINT OnGetDlgCode();
  294.     afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
  295.     //}}AFX_MSG
  296.  
  297.     DECLARE_MESSAGE_MAP()
  298. };
  299.  
  300. /////////////////////////////////////////////////////////////////////////////
  301. /////////////////////////////////////////////////////////////////////////////
  302. /////////////////////////////////////////////////////////////////////////////
  303. // CDBCombo window
  304.  
  305. class CDBCombo : public CComboBox
  306. {
  307. // Construction
  308. public:
  309.     CDBCombo();
  310.  
  311. // Attributes
  312. public:
  313.  
  314. // Operations
  315. public:
  316. private:
  317. // Overrides
  318.     // ClassWizard generated virtual function